﻿var K_ResultadoAjax = { Exito: 1, Error: 0 };

var listarPais = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");
    
    $.ajax({
        url: '../Pais/ListarPais',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Pais = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Pais, function (index, pa) {
                    var selected = "";
                    if (val == pa.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + pa.Valor + "' " + selected + ">" + pa.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarSistema = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        url: '../Sistema/ListarSistema',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Sistema = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Sistema, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarPerfil = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        url: '../Perfil/ListarPerfil',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Perfil = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Perfil, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarModulo = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        url: '../Modulo/ListarModulo',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Modulo = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Modulo, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarOficina = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        url: '../Oficina/ListarOficina',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Oficina = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Oficina, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarTipoDocumento = function (control, mensaje, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        url: '../Parametro/ListarTipoDocumento',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Documento = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Documento, function (index, x) {
                    var selected = "";
                    if (val == x.Value) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Value + "' " + selected + ">" + x.Text + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarModuloXSistema = function (control, mensaje, codSistema, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        data:{CodigoSistema: codSistema},
        url: '../Modulo/ListarModuloXSistema',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Modulo = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Modulo, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarPerfilXModulo = function (control, mensaje, codModulo, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        data:{CodigoModulo:codModulo},
        url: '../Perfil/ListarPerfilXModulo',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Perfil = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Perfil, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarOficinaXUbicacion = function (control, mensaje,ctrUbicacion, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    var ubicacion = 0;
    if (ctrUbicacion == 'ubicacion') {
        ubicacion = $("input:radio[name=" + ctrUbicacion + "]:checked").val();
    } else {
        ubicacion = ctrUbicacion;
    }

    $.ajax({
        data: { CodigoUbicacion: ubicacion },
        url: '../Oficina/ListarOficinaXUbicacion',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Oficina = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Oficina, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var listarPerfilXSistema = function (control, mensaje, codSistema, valor) {

    var val = valor == undefined ? 0 : valor;
    $("#" + control + " option").remove();
    $("#" + control).append("<option value='0'>" + mensaje + "</option>");

    $.ajax({
        data: { CodigoSistema: codSistema },
        url: '../Perfil/ListarPerfilXSistema',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var Perfil = dato.data.Data;
            if (dato.result == K_ResultadoAjax.Exito) {
                $.each(Perfil, function (index, x) {
                    var selected = "";
                    if (val == x.Valor) selected = "Selected";
                    $("#" + control).append("<option value='" + x.Valor + "' " + selected + ">" + x.Descripcion + "</option>");
                });
            } else {
                alertify.error(dato.message);
            }
        }
    });
}